package com.qf.mapper;

import com.qf.pojo.User;
import com.qf.sql.SqlProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;

import java.util.List;
import java.util.Map;

public interface UserMapper {

    @Select("select * from user where id = #{id}")
    User findByIdAnnotation(@Param("id") Integer id);


    // 查询条数
    Long findCount();


    // 根据id查询用户信息
    User findById(Integer id);


    // 查询全部数据
    List<User> findAll();


    // 查询根据name和age查询数据(序号传参作为了解)
    List<User> findByNameAndAge(String name,Integer age);

    // 查询根据name和age查询数据
    List<User> findByNameAndAgeByAnnotation(@Param(value = "hahaname") String name, @Param("age") Integer age);

    // 查询根据name和age查询数据
    List<User> findByNameAndAgeByMap(Map<String,Object> map);

    // 查询根据name和age查询数据
    List<User> findByNameAndAgeByPojo(User user);

    // 根据姓名模糊查询
    List<User> findByNameLike(String name);

    int deleteById(@Param("id")Integer id);

    int updateById(User user);

    int insert(User user);
}
